Duke Nukem 3D est un jeu de tir subjectif (en anglais first person shooter ou FPS) développé par 3D Realms et publié en 1996 par Apogee. Il poursuit les aventures de Duke Nukem, personnage musclé et machiste. Des extra-terrestres sainguinaires ont envahi le Los Angeles de demain. Désormais les humains sont les premiers sur la liste des espèces en voie de disparition. Duke Nukem est le seul homme capable d'éradiquer les aliens …
Après la diffusion du code source du moteur du jeu (Build) par Ken Silverman en juin 2000, le code source de Duke Nukem 3D a été placé sous la licence libre GPL en avril 2003, mais les données (graphiques et sonores) restent la propriété intégrale de 3D Realms.
Comme ces derniers n'ont pas été libérés, il faut donc récupérer le fichier duke3d.grp, présent sur le CD-ROM de Duke Nukem 3D et le copier dans un des dossiers de recherche :
Dans le cas où vous ne disposeriez pas d'une copie du jeu, on doit pouvoir le trouver à moins de 5 euros sur les sites d'enchères et d'occasions (si possible dans la version Atomic Edition v1.5, qui contient le plus d'armes, maps et sons, mais cela fonctionne généralement avec toutes les versions officielles). On peut également l'acheter depuis la boutique en ligne de 3drealms, ou sur le site GOG.com.
Une autre solution consiste à copier le fichier duke3d.grp présent dans la version shareware, (dans ce cas il n'est possible de jouer qu'avec la version shareware, Episode 1 et vous n'aurez pas accès à toutes les armes).
Merci d'éviter de proposer des liens vers des sites pirates qui mettent à disposition les fichiers de données commerciaux, Duke Nukem 3D n'est pas un abandonware.
Du fait de la publication du code source du jeu, il existe différents portages, dont plusieurs sous GNU/Linux. Ils permettent principalement de faire tourner Duke Nukem 3D sur des systèmes d'exploitation plus évolués à la place du DOS. Ils sont tous distribués sous licence GPL v2 :
1. Icculus Duke3D : Le plus ancien, version classique du jeu sans apporter de grande nouveauté, il reste cependant idéal pour les petites configurations.
2. JFDuke3D : Apporte de nouvelles évolutions au jeu : support des formats png et ogg, nouveau moteur graphique Polymost, permet de gérer de véritable modèles en 3D, menu des options enrichi, console in-game similaire à Quake, … . Il est toutefois préférable d'utiliser EDuke32 à la place, étant donné qu'il n'a pas été mis à jour depuis un bon moment.
3. EDuke32 : Fork de JFDuke3D, le plus évolué à l'heure actuelle. Il apporte en plus de nouvelles fonctionalités comme le support des plateformes 64 bits, extension du langage de script, la lumière dynamique et ombres en temps réel (Polymer), un protocole réseau client/serveur amélioré avec la possibilité de rejoindre une partie déjà commencée.
Un installateur pour la version atomic est disponible à cette adresse
Le CD-ROM de la version 1.5 Atomic Edition est requis.
$ chmod +x duke3d_atomic_edition-x86.run $ sudo sh ./duke3d_atomic_edition-x86.run
Un autre installateur, plus moderne est disponible à cette adresse
On peut y jouer avec la version 1.5 Atomic Edition ou avec la version shareware.
$ chmod +x duke3d-mojosetup-linux-x86.bin $ ./duke3d-mojosetup-linux-x86.bin
JFDuke3D est disponible uniquement pour architecture I386
Voir ce tutoriel pour la partie compilation
(GCC 3.4 n'est plus supporté dans les dernières versions d'Ubuntu).
Paquets ubuntu I386 pour JFDuke3D disponible ici.
$ sudo apt-get install subversion build-essential libsdl-mixer1.2-dev nasm libgtk2.0-dev timidity
Note : Il est possible d' obtenir une version uniquement en ligne de commande (sans interface graphique GTK), pour cela il faut alors omettre la dépendance libgtk2.0-dev
$ cd $ svn co https://eduke32.svn.sourceforge.net/svnroot/eduke32 eduke32
$ cd eduke32/polymer/eduke32 $ make
Une fois la compilation terminée, deux fichiers binaires sont disponibles, eduke32 et mapster32, ce dernier sert à la création de cartes.
Si le fichier duke3d.grp est bien présent dans un des dossiers de recherche, on peut alors lancer le jeu :
$ ./eduke32
Pour jouer à EDuke32 avec le High Resolution Pack, il faut placer les archives du pack dans un des dossiers de recherche et lancer la commande :
$ ./eduke32 -g duke3d_hrp.zip hrp_update.zip maphacks.zip
Pour jouer à EDuke32 avec le High Resolution Pack pour le Polymer :
$ ./eduke32 -g polymer_hrp.zip
ou bien, copier directement les archives du pack dans le dossier "autoload".
Les adresses des dépôts sont disponibles ici.
N'oubliez pas d'activer le dépôt universe avant l'installation.
Les commandes suivantes permettent de modifier les options pour le Polymer, elles doivent être saisis depuis la console du jeu (OSD, touche ² ou ~ par défaut) :
r_pr_shadowdetail #
Cette option permet de régler le niveau de détails des ombres, la valeur par défaut est 4. Positionner cette valeur à 2 ou 1 peut apporter une meilleur fluidité du jeu sur les petites configurations.
r_pr_maxlightpasses #
Cette option permet de régler l'intensité de la lumière dynamique, la valeur par défaut est 5. Positionner cette valeur à 3 par exemple, peut apporter une meilleur fluidité du jeu sur les petites configurations.
Voir également cette page pour toutes les commandes disponible sur EDuke32.
L'application YANG permet de créer et rejoindre des parties sur internet. YANG est multi-plateforme et fonctionne de façon native sous GNU/Linux.
Des paquets ubuntu sont disponibles sur le site officiel pour architecture 32 et 64 bits.
Les données suivantes peuvent être utiles si vous utilisez un pare-feu ou autre logiciel pour bloquer certains ports réseaux :
Lors de la création d'une partie, il est nécessaire de cliquer sur le bouton "Advertise room" afin d'annoncer sa partie dans la liste de tous les serveurs.